/*
 * rx1_functions.h
 * Created on August 5, 2005; 6:00 PM
 * by vramadurai
 */
#ifndef _RX1_FUNCTIONS_H_
#define _RX1_FUNCTIONS_H_

#include "HsTypes.h"
#include "iqdma_3500.h"
#include "tables.h"


void crc_1bit(
                hs_uint8_t ucDemodBitSeq,
                hs_uint32_t * piCrc32Table_1bit,
                struct HS_Phy11bStr  *HS_Phy11bPtrTh
             );

hs_uint8_t  descramble(
                        hs_uint8_t  *pucStateTable1Bit,
                        struct HS_Phy11bStr  *HS_Phy11bPtrTh,
                        hs_uint8_t ucTempBit,
                        hs_int32_t rate
                      );

hs_uint8_t descramble_1mbps(
                                hs_uint8_t ucTempBit,
                                hs_uint8_t * restrict pucStateTable1Bit,
                                struct HS_Phy11bStr  *HS_Phy11bPtrTh,
                                hs_int32_t siBitCount
                            );

hs_uint8_t carrier_offset_1mbps(
                                    hs_int16_t ssRxSymbI,
                                    hs_int16_t ssRxSymbQ,
                                    struct HS_Phy11bStr  *HS_Phy11bPtrTh
                                );

void wlan_do_1mbps(
                        struct HS_Phy11bStr  *HS_Phy11bPtrTh,
                        ePHYSTATES_TH *ePhyState,
                        hs_int32_t NSymbols,
						hs_int16_t *ssSineCosineTable
                   );

#endif
